{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Neural Networks"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Different types\n",
    "\n",
    "- Multilayer perceptron (i.e. plain vanilla neural network)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Background vocabulary (later discussed in further detail)\n",
    "\n",
    "- **Hidden Layers**: layers between the input & output layers\n",
    "    - the activations from one layer determine the activations of the next layer\n",
    "\n",
    "- **Neuron**: a function that takes all outputs of previous layer, and spits out a number (between 0 and 1)\n",
    "    - The number held is called the neuron's **activation**\n",
    "        - activation values are ideally between 0 - 1 (converted as such using the **ReLu**!)\n",
    "\n",
    "- **weights**: numbers assigned to each connection between each INDIVIDUAL neuron and EVERY neuron of the next layer\n",
    "    - e.g. **tweakable parameters to capture patterns between layers**\n",
    "\n",
    "    - ex. weights of the first layer are numbers assigned to each connection between each INDIVIDUAL neuron of the first layer, that is connected to EVERY neuron of the second layer\n",
    "\n",
    "    - ex. in computer vision: if theres an edge in the image, the pixels of the edge/digit in image itself would be positive, and the weights of the pixels *surrounding* the edge would be negative (like the outline/border, but where brightness = 0)\n",
    "\n",
    "- when a neural network is **\"learning\" = finding the right weights and biases (minimizing a cost function)**\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Questions to ponder...\n",
    "\n",
    "- How similar *are* artificial neural networks to **biological** ones? The human brain?"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "ml-learning",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
